﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WOS.Common
{
    public enum TaskPriority
    {
        Lowest,
        Low,
        Normal,
        High,
        Highest
    }

    public enum TaskStatus
    {
        Working,
        Queued
    }

    public sealed class TaskInfo
    {
        #region Private Fields
        private readonly Guid id;
        private readonly string name;
        private readonly Resource resource;
        private readonly TaskStatus status;
        private readonly TaskPriority priority;
        #endregion
        #region Constructors
        public TaskInfo(Guid id, string name, Resource resource, TaskStatus status, TaskPriority priority)
        {
            this.id = id;
            this.name = name;
            this.resource = resource;
            this.status = status;
            this.priority = priority;
        }
        #endregion

        #region Public Members
        public Guid Id
        {
            get { return this.id; }
        }

        public string Name
        {
            get { return this.name; }
        }

        public Resource Resource
        {
            get { return this.resource; }
        }

        public TaskStatus Status
        {
            get { return this.status; }
        }

        public TaskPriority Priority
        {
            get { return this.priority; }
        }
        #endregion
    }
}
